/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package Dominio;

import java.util.*;
/**
 *
 * @author Usuario
 */
public class SistemaCarne {

    private ArrayList<Persona> listaMadres;
    private ArrayList<Persona> listaPadres;
    private ArrayList<Persona> listaTutores;
    private ArrayList<Persona> listaMedicos;
    private ArrayList<Niño> listaNiños;
    
    public SistemaCarne(){
        
        listaMadres = new ArrayList<Persona>();
        listaPadres = new ArrayList<Persona>();
        listaTutores = new ArrayList<Persona>();
        listaMedicos = new ArrayList<Persona>();
        listaNiños = new ArrayList<Niño>();
                
    }

    public ArrayList<Persona> getListaMadres() {
        return listaMadres;
    }

    public ArrayList<Persona> getListaMedicos() {
        return listaMedicos;
    }

    public ArrayList<Niño> getListaNiños() {
        return listaNiños;
    }

    public ArrayList<Persona> getListaPadres() {
        return listaPadres;
    }

    public ArrayList<Persona> getListaTutores() {
        return listaTutores;
    }
    
    //Agregar a listas
    public void agregarPersona(ArrayList<Persona> lista, Persona unaP){
        if (!lista.contains(unaP))
                lista.add(unaP);
    }
    
    public void agregarMadre(Persona unaP){
        if (!unaP.isSexo() && !listaMadres.contains(unaP))
                listaMadres.add(unaP);
    }
    
    public void agregarPadre(Persona unaP){
        if (unaP.isSexo() && !listaPadres.contains(unaP))
                listaPadres.add(unaP);
    }
    
    public void agregarNiño(Niño unN){
        if (!listaNiños.contains(unN))
                listaNiños.add(unN);
    }
    
    public boolean ExistePersona(ArrayList<Persona> lista, String unaCI){
        boolean existe;
        Persona p = new Persona();
        p.setCedulaId(unaCI);
        if (lista.contains(p))
            existe = true;
        else
            existe = false;
        return existe;
    }
    
    public ArrayList<Niño> listaHijos(String unaCI){
    
        ArrayList<Niño> listaHijos = new ArrayList<Niño>();
        Persona p = new Persona();
        p.setCedulaId(unaCI);
        for(int i=0; i< listaNiños.size(); i++){ 
            Niño niño = listaNiños.get(i);
            if(niño.getMadre()!= null && niño.getMadre().getCedulaId().equals(unaCI)){
                listaHijos.add(listaNiños.get(i));
            }
            if(niño.getPadre()!= null && niño.getPadre().getCedulaId().equals(unaCI)){
                listaHijos.add(listaNiños.get(i));
            }
            if(niño.getTutor()!= null && niño.getTutor().getCedulaId().equals(unaCI)){
                listaHijos.add(listaNiños.get(i));
            }
        }
        
        return listaHijos;
    } 
    
}
